The invention pertains to operating systems for use in information handling systems such as computers.
In the present state of the art, central processing units of computers (xe2x80x9cprocessorsxe2x80x9d) run programs in a so-called xe2x80x9ctime-slicexe2x80x9d manner. That is, a single task will be running internally in the processor. The program will have 100% of its resources dedicated to the single task. A program pointer register keeps track of the current task within the processor. When the task needs other information, data, or another program, or times out, the processor stores out the state of the processor and restarts the operating system program. The operating system then determines which task or program segment to start next. The processor will store out the operating system program processor registers, read in the next program registers, and start the next task or program segment. The task or program segment that is running has no direct access to the resources of the system. Whenever the program tries to read or write a resource of the system, a xe2x80x9ctrapxe2x80x9d occurs, and the operating system is restarted. The operating systems determines the cause of the trap and executes the request, then exits and restarts the program. This is a time-consuming and inefficient process.
FIG. 1 depicts a flowchart of the state of the prior art described above. As shown in FIG. 1, Program or Task A 10 tries to read or process or write a resource of the system. This causes the processor to store the state of the processor, exit Program or Task A in step 12, and restart the operating system program. In step 14, the operating system determines the problem, executes the request, then exits and restarts Program or Task A. In step 16, when Program or Task A is completed, the processor stores the state of the processor and, in step 18, restarts the operating system program. The operating system program then selects Program or Task B and starts it running in step 20.
To support full time operation and utilization of the operating system, modifications are needed to allow the operating system to remain running all the time. An object of this invention is to provide a full-time operating system that operates efficiently and is not being constantly restarted when information is needed.
To expedite operation and accommodate a full-time operating system, the operating system is not swapped out of the processor but rather is resident in the processor. The processor uses a dedicated operating system instruction set register. This register is a master instruction set register. Along with the operating control register, the operating system instruction set register uses a tagging macro to keep track of each operating system request. The tagging macro adds an operating system set bit to all requests. In this manner, all returning operating system instructions and data are tagged with the appropriate operating system operation.
The operating system tagging macro always operates at the level zero or at complete processor resources availability. All instruction types are available in the master instruction set register without exceptions. The operating system has the ability to reset any function register within the processor by direct means. The operating system also has access to the processor resources of any program register that the operating system is executing and any program register that a task is executing. In addition, the operating system has access to the control registers for itself and the control registers of the operating tasks.
In this way, the inefficiencies of the present state of the art of operating systems is avoided. The operating system of the present invention operates all of the time and is not constantly restarted upon demand.